home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 4 / FM Towns Free Software Collection 4 - Disc 1.iso / fb386 / superedt / s_move.bas < prev    next >
BASIC Source File  |  1991-10-18  |  3KB  |  84 lines

  1. 1000 '
  2. 1010 '            SUPER 大戦略
  3. 1020 '                 移動型 EDITOR
  4. 1030 '                          FOR FM-TOWNS
  5. 1040 '
  6. 1050 '     注、PARAM.DATを書き込み可にしておくこと。
  7. 1060 '
  8. 1070 SCREEN@ 0:CLS:COLOR 7,0,7,0:DEFINT A-Z:WIDTH 80,25:CONSOLE 0,24,2
  9. 1080 DEF FNDATA(X,I)=ASC(MID$(MOVE$(I),X,1))
  10. 1090 DIM DAT$(10),MOVE$(13),MOVE1$(13)
  11. 1110 OPEN "PARAM.DAT" FOR INPUT AS #1
  12. 1120 DAT$(0)=INPUT$(22,1)
  13. 1130 FOR I=0 TO 13
  14. 1140  MOVE$(I)=INPUT$(16,1)
  15. 1150 NEXT
  16. 1160 DAT$(1)=INPUT$(16,1)
  17. 1170 FOR I=0 TO 13
  18. 1180  MOVE1$(I)=INPUT$(10,1)
  19. 1190 NEXT
  20. 1200 DAT$(2)=INPUT$(255,1)
  21. 1201 DAT$(3)=INPUT$(197,1):CLOSE #1
  22. 1205 CLS:X=0:Y=0
  23. 1210 PRINT"        道路平地 森  川  海 砂漠荒地 山  橋 沼地要塞都市空港首都"
  24. 1220 PRINT" SAVE"
  25. 1225 *MAIN
  26. 1230 FOR I=1 TO 13
  27. 1240  LOCATE 2,I+2:PRINT MID$(MOVE1$(I),1,4)
  28. 1250 NEXT
  29. 1251 FOR I=0 TO 13
  30. 1252  LOCATE 9+I*4,1:PRINT USING"##%";ASC(MID$(DAT$(2),I+21,1))
  31. 1253 NEXT
  32. 1260 FOR I=1 TO 13
  33. 1270  FOR J=0 TO 13
  34. 1280   LOCATE 8+J*4,I+2:A=FNDATA(J+1,I-1)
  35. 1290   IF A=255 PRINT "----" ELSE PRINT USING"  # ";A
  36. 1300  NEXT
  37. 1310 NEXT
  38. 1320 K$=""
  39. 1330 WHILE K$<>" "
  40. 1340  X1=5+X*4+(X=0)*4:LOCATE X1+(Y=0),Y+2+(Y=0):PRINT"*"
  41. 1350  K$=INPUT$(1)
  42. 1360  VX=(ASC(K$)=29 AND X>0)-(ASC(K$)=28 AND X<14)
  43. 1370  VY=(ASC(K$)=30 AND Y>0)-(ASC(K$)=31 AND Y<13)
  44. 1380  IF X=0 OR Y=0 IF VX<>0 OR VY<>0 LOCATE X1+(Y=0),Y+2+(Y=0):PRINT" ":GOTO *A ELSE GOTO *A
  45. 1381  IF(VX<>0OR VY<>0)AND FNDATA(X,Y-1)<255LOCATE X1,Y+2:PRINT" ":GOTO *A
  46. 1385  IF(VX<>0OR VY<>0)AND FNDATA(X,Y-1)=255LOCATE X1,Y+2:PRINT"-"
  47. 1390  *A:X=X+VX:Y=Y+VY
  48. 1400 WEND
  49. 1420 IF X=0 AND Y=0 THEN *END
  50. 1425 IF X=0 THEN *NAME
  51. 1426 IF Y=0 THEN *DEFF
  52. 1430  LOCATE 0,18:INPUT "消費移動力(進入できないなら255)";MOV
  53. 1435  LOCATE 0,18:PRINT STRING$(255," ")
  54. 1440  IF (MOV>0 AND MOV<10)OR MOV=255 ELSE *MAIN
  55. 1450  MID$(MOVE$(Y-1),X,1)=CHR$(MOV)
  56. 1460  GOTO *MAIN
  57. 1470 *NAME
  58. 1480  LOCATE 0,18:LINE INPUT "名前(4文字)";NA$
  59. 1483  LOCATE 0,18:PRINT STRING$(255," ")
  60. 1485  IF NA$="" GOTO *MAIN
  61. 1490  NA$=LEFT$(NA$+"    ",4)
  62. 1500  MID$(MOVE1$(Y),1,4)=NA$
  63. 1510  GOTO *MAIN
  64. 1520 *DEFF
  65. 1530  LOCATE  0,18:INPUT "防御";A
  66. 1535  LOCATE 0,18:PRINT STRING$(255," ")
  67. 1540  IF A<0 OR A>99 THEN *MAIN
  68. 1550  MID$(DAT$(2),X+20,1)=CHR$(A)
  69. 1560  GOTO *MAIN
  70. 2890 *END '--------------------------------------------------
  71. 2900 KILL "PARAM.DAT"
  72. 2910 OPEN "PARAM.DAT" FOR OUTPUT AS #1
  73. 2920 PRINT #1,DAT$(0);
  74. 2930 FOR I=0 TO 13
  75. 2940  PRINT #1,MOVE$(I);
  76. 2950 NEXT
  77. 2960 PRINT #1,DAT$(1);
  78. 2970 FOR I=0 TO 13
  79. 2980  PRINT #1,MOVE1$(I);
  80. 2990 NEXT
  81. 3000 PRINT #1,DAT$(2);
  82. 3001 PRINT #1,DAT$(3);
  83. 3070 CLOSE #1
  84.